package test8;

import java.util.ArrayList;

class ArrayListIntegerStack implements IntegerStack {

    private ArrayList<Integer> List;
    private final int n;

    public ArrayListIntegerStack(int n) {
        List = new ArrayList<>();
        this.n = n;
    }

    public Integer push(Integer item) {
        if (item == null) {
            return null;
        }
        if (List.size() >= n) {
            return null;
        }
        List.add(item);
        return item;
    }

    public Integer pop() {
        if (List.size() == 0) {
            return null;
        }
        Integer a;
        a=List.get(List.size()-1);
        List.remove(List.size()-1);
        return a;
    }

    public Integer peek() {
        if (List.size() == 0) {
            return null;
        }
        return List.get(List.size()-1);
    }

    public boolean empty() {
        return List.size() == 0;
    }

    public int size() {
        return List.size();
    }

    public ArrayList<Integer> getArrayList(){
        return List;
    }
    public String toString(){
        return List.toString();
    }
}